package com.bosi.exmple.message;

import java.util.Map;
import java.util.function.Consumer;

/**
 * 消息服务
 * 订阅/发布
 */
public interface MessageService {
    /**
     * 发布消息
     * @param message 消息
     */
    void publish(Message message);

    /**
     * 订阅
     * @param header 头部
     * @param consumer 消费者
     * @return
     */
    String subscribe(Map<String,Object> header, Consumer<Message> consumer);

    /**
     * 取消订阅
     * @param subscribeId 订阅编号
     */
    void unsubscribe(String subscribeId);
}
